#include <iostream>

using namespace std;

const int MAX=105;
int adj[MAX][MAX]={0};

int x,y;
int n,m;

int main()
{
	cin>>m>>n;
	for(int i=0;i<m;i++)
    {
		cin>>x>>y;
		adj[x-1][y-1]=1;
		adj[y-1][x-1]=1;
	}

	for(int i=0;i<m;i++)
	{
		for(int j=0;j<m;j++)
		{
			cout<<adj[i][j]<<" ";
		}
		cout<<endl;
	}

	system("pause");
	return 0;
}

// FIXME:
//  1. 图的数据会比较复杂，想想如何从文件读取数据来完成程序的测试。数据文件可以是多个，从不同的角度去测试程序的完备性和正确性。

